package sk.robocup.dvanastyhrac.tactics;

import robocup.component.tactics.DribbleState;
import robocup.component.tactics.StateEvaluation;
import sk.robocup.dvanastyhrac.actionfactories.SayActionFactory12;

/**
 * Stav, ktory je rovnaky ako dribblestate ale pocas driblovania hrac krici svoju
 * poziciu takym stylom ze ostatni o tom vedia ze to je driblujuci hrac a mozu si
 * z tejto spravy usudit ze lopta je pri driblujucom hracovi. Hodi sa ked nejaky
 * hrac nevidi loptu a je v blizkosi hraca ktory mu chce nahrat, no kedze tento
 * loptu nevidi, necaka prihravku a ani sa na neho nezameriava cez attention to.
 * Ak ale zapocuje tuto spravu, hodi poziciu lopty k tomu hracovi co tu spravu
 * vyslal a tympadom uz vie kde je lopta a zacne sa na toho hraca zameriavat aj cez ATA.
 * 
 * Created on 28.4.2009 at 16:44:46
 * @author gpan
 */
public class DribbleStateWithSay12 extends DribbleState {

    public DribbleStateWithSay12(StateEvaluation parent) {
		super(parent);
		this.state = STATES.DRIBBLE;
	}

    /**
     * vytvori spravu o pozicii driblujuceho hraca (z bej sa da usudit ze lopta je prinom)
     */
    @Override
    public void calculateSayAction() {
		//este to bude treba otestovat, nie je to vyskusane
        //age = 1 ak nas hrac dribluje => lopta v dalsom cykle (kde bude)
        //age = 0 ak super dribluje = lopta videna v tomto cykle (kde je)
        sayAction = SayActionFactory12.getDribbleSayAction(this.getWorld(), this.getWorld().getSelfRef(), this.getWorld().getSelfRef(), 1);
    }

}
